<?php
/**
 * Marco Mounzer
 * m.mounzer@gmail.com
 * @copyright 2013
 */
require_once 'lib/begin.php';

require_once 'WebTipologia.php';
require_once 'WebMarca.php';
require_once 'WebAlimentazione.php';


$tipologia_id = isset($_REQUEST['tipologia_id']) ? $_REQUEST['tipologia_id'] : '-1';
$marca_id = isset($_REQUEST['marca_id']) ? $_REQUEST['marca_id'] : '-1';
$alimentazione_id = isset($_REQUEST['alimentazione_id']) ? $_REQUEST['alimentazione_id'] : '-1';
$prezzo_id = isset($_REQUEST['prezzo_id']) ? $_REQUEST['prezzo_id'] : '-1';
$model = isset($_REQUEST['model']) && strlen(trim($_REQUEST['model'])) > 0 ? $_REQUEST['model'] : null;
$ord = isset($_REQUEST['ord']) ? $_REQUEST['ord'] : null;
$car_id = isset($_REQUEST['car_id']) ? $_REQUEST['car_id'] : null;

$prezzo_data = array(
    0 => array('id' => 0, 'descrizione' => 'fino a 10000'),
    1 => array('id' => 1, 'descrizione' => '10000 - 15000'),
    2 => array('id' => 2, 'descrizione' => '15000 - 20000'),
    3 => array('id' => 3, 'descrizione' => '20000 - 25000'),
    4 => array('id' => 4, 'descrizione' => '25000 - 30000'),
    5 => array('id' => 5, 'descrizione' => 'oltre i 30000'),
);

$order_val = array(
    'u' => 'ASC',
    'd' => 'DESC'
);
$order_elment = array(
    'm' => 'modello',
    'a' => 'anno',
    'k' => 'km',
    'p' => 'prezzo',
);

$sql_array = array();
if (!is_null($model))
    $sql_array[] = 'modello like ' . Database::GetIstance()->quote($model . '%');

if (intval($tipologia_id) > -1)
    $sql_array[] = 'tipologia_id = ' . Database::GetIstance()->quote($tipologia_id);
if (intval($marca_id) > -1)
    $sql_array[] = 'marca_id = ' . Database::GetIstance()->quote($marca_id);
if (intval($alimentazione_id) > -1)
    $sql_array[] = 'alimentazione_id = ' . Database::GetIstance()->quote($alimentazione_id);

if (intval($prezzo_id) > -1) {
    if ($prezzo_id == 0)
        $sql_array[] = 'prezzo <= 10000';

    if ($prezzo_id == 5)
        $sql_array[] = 'prezzo >= 30000';

    if ($prezzo_id > 0 && $prezzo_id < 5)
        $sql_array[] = 'prezzo BETWEEN ' . str_replace(' - ', ' AND ', $prezzo_data[$prezzo_id]['descrizione']);
}

if (!is_null($car_id)) {
    $sql_array = array();
    $sql_array[] = 'id = ' . Database::GetIstance()->quote($car_id);
}

if (count($sql_array) > 0)
    $sql = implode(' AND ', $sql_array);

if (!is_null($ord)) {
    $p = explode('_', $ord);
    $sql_order = $order_elment[$p[0]] . ' ' . $order_val[$p[1]];
}
?>
<form method="get" action="" id="filter" name="filter">
    <table style="width: 800px;">
        <thead>
            <tr>
                <th colspan="4">
                    Filtri
                </th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <th>Tipologia</th>
                <td>
                    <?php
                    echo ObjectForm::DropDownListObj('tipologia_id', Database::GetIstance()->loadObjects(new WebTipologia(), null, 'nome'), 'nome', array('id' => $tipologia_id), 1, null, false, true);
                    ?>
                </td>
                <th>Marca</th>
                <td>
                    <?php
                    echo ObjectForm::DropDownListObj('marca_id', Database::GetIstance()->loadObjects(new WebMarca(), null, 'nome'), 'nome', array('id' => $marca_id), 1, null, false, true);
                    ?>
                </td>
            </tr>
            <tr>
                <th>Alimentazione</th>
                <td>
                    <?php
                    echo ObjectForm::DropDownListObj('alimentazione_id', Database::GetIstance()->loadObjects(new WebAlimentazione(), null, 'nome'), 'nome', array('id' => $alimentazione_id), 1, null, false, true);
                    ?>
                </td>
                <th>Prezzo</th>
                <td>
                    <?php
                    echo ObjectForm::DropDownListArray('prezzo_id', $prezzo_data, array('id' => $prezzo_id), 1, null, false, true);
                    ?>
                </td>
            </tr>
            <tr>
                <th>Modello</th>
                <td><input type="text" id="model" name="model" size="28" value="<?php echo $model; ?>"/></td>
                <?php
                if (isset($_SESSION['user']) && get_class($_SESSION['user']) == 'WebUser') {
                    ?>
                    <th>ID</th>
                    <td><input type="text" id="car_id" name="car_id" size="28" value="<?php echo $car_id; ?>"/></td>
                    <?php
                } else {
                    ?>
                    <th>&nbsp;</th>
                    <td>&nbsp;</td>
                    <?php
                }
                ?>
            </tr>
        </tbody>

        <tfoot>
            <tr>
                <th colspan="4">
                    <input type="submit" name="_filtro" id="_filtro" value="Filtra">
                    <input type="reset" name="_reset" id="_reset" value="Reset">
                </th>
            </tr>
        </tfoot>
    </table>
</form>
<script type="text/javascript">
    $(document).ready(function() {
        var ord = getParameterByName('ord');
        if (ord) {
            $("a[order='" + ord + "'] img").attr('src', '/images/' + ord.split("_")[1] + 'r.png');
        }

        $('span a[order]').each(function() {
            $(this).click(function(event) {
                event.preventDefault();

                $('#ord').remove();
                var $ord = $('<input/>').attr('id', 'ord').attr('name', 'ord').attr('type', 'hidden').val($(this).attr('order'));
                $('#filter').append($ord);

                $('#filter').submit();
                return false;
            });
        });

        $('#_reset').click(function(event) {
            event.preventDefault();
            $('#tipologia_id').val('-1');
            $('#marca_id').val('-1');
            $('#alimentazione_id').val('-1');
            $('#prezzo_id').val('-1');
            $('#model').val('');
            $('#filter').submit();
            return false;
        });
    });
</script>